package com.cy.pj.log.annotation.service;

import com.cy.pj.log.annotation.pojo.SysLog;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

/*
注意:1.项目的moudles的名字不要写中文,会找不到bean对像的
2.多检查pom文件，写错了包名也会报找不到bean对像的错
 */
//服务消费方调用日志写入方法的逻辑：1.创建一个Feign接口(方法写上要调用的sca-log的controller的savelog方法)
//2.自定义一个注解annotation,AsyncLogService异步处理中注入Feign接口的依赖，用异步写日志的方式调用Feign接口方法
//3.写一个切面Aspect,并注入AsyncLogService异步处理的依赖,环绕通知,调用AsyncLogService异步处理的异步方法
//saveLog(SysLog syslog)写入日志到数据库
//4.在notice服务消费方的Controller的查询方法上写上注解@RequiredLog
//5.启动nacos和log,notice的服务，访问notice的查询方法，再访问log的查询，看看查询行为有没有写入日志中

@FeignClient(value = "log-app")
public interface RemoteLogService {
    @PostMapping("/log/")
        //Feign接口的方法名要和调用的日志写入的方法名一致
    void saveLog(@RequestBody SysLog syslog);

}
